// import com.alibaba.druid.sql.ast.SQLObjectImpl;
// import com.alibaba.druid.sql.ast.SQLPartitionSpec_ptr;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../SQLObjectImpl.h"
#include "SQLAlterTableItem.h"

class SQLAlterTableMergePartition : virtual public SQLObjectImpl ,virtual public SQLAlterTableItem
{
public:
  SQLPartitionSpec_list_ptr partitions;
  BOOL_ptr ifExists;
  SQLPartitionSpec_ptr overwritePartition;
  BOOL_ptr purge;
  SQLAlterTableMergePartition();
  SHAREDOBJECT(SQLAlterTableMergePartition);
  SQLPartitionSpec_list_ptr getPartitions();

  void addPartition(SQLPartitionSpec_ptr x);

  BOOL_ptr isIfExists();

  void setIfExists(BOOL_ptr ifExists);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  SQLPartitionSpec_ptr getOverwritePartition();

  void setOverwritePartition(SQLPartitionSpec_ptr x);

  BOOL_ptr isPurge();

  void setPurge(BOOL_ptr purge);
};
